package com.nbcio.im.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * IM配置属性
 *
 * @author nbacheng
 */
@Data
@Component
@ConfigurationProperties(prefix = "im")
@EnableConfigurationProperties
public class ImProperties {

    /**
     * 是否启用IM功能
     */
    private boolean enabled = true;

    /**
     * 盒子IM服务器地址
     */
    private String serverUrl = "http://localhost:8080";

    /**
     * IM服务器API密钥
     */
    private String apiKey;

    /**
     * 应用ID
     */
    private String appId;

    /**
     * 应用密钥
     */
    private String appSecret;

    /**
     * 是否启用单点登录
     */
    private boolean ssoEnabled = true;

    /**
     * 用户同步配置
     */
    private UserSync userSync = new UserSync();

    @Data
    public static class UserSync {
        /**
         * 是否自动同步用户
         */
        private boolean autoSync = true;

        /**
         * 同步间隔（分钟）
         */
        private int syncInterval = 60;

        /**
         * 是否同步用户头像
         */
        private boolean syncAvatar = true;
    }
}
